package main

import (
	"fmt"
	"sync"
)
/*
有两个协程，A打印1-10，B打印1-10，交替打印
 */

var wg sync.WaitGroup

func main() {
	bloke := make(chan int)   // 无缓冲通道

	wg.Add(1)
	go func() {
		for i := 1; i <= 10; i ++ {
			fmt.Println("first", <-bloke)
			bloke <- i
		}
		wg.Done()
	}()

	wg.Add(1)
	go func() {
		for i := 1; i <= 10; i ++ {
			bloke <- i
			fmt.Println("second", <-bloke)
		}
		wg.Done()
	}()

	wg.Wait()

	//ch := make(chan int)
	//
	//go func() {
	//	for i := 1; i < 10; i += 1 {
	//		<-ch
	//		if i%2 == 0 {
	//			fmt.Println("first", i)
	//		}
	//	}
	//}()
	//
	//go func() {
	//	for i := 1; i < 10; i += 1 {
	//		ch <- 0
	//		if i%2 == 1 {
	//			fmt.Println("second",i)
	//		}
	//	}
	//}()
	//
	//time.Sleep(1*time.Second)
}